/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Pesistencia;

import BancoDados.BancoDados;
import Entidade.CompraModel;
import java.sql.ResultSet;
import java.util.ArrayList;

/**
 *
 * @author Aluno
 */
public class CompraPersistencia {

     BancoDados bd;
      
  public ArrayList <CompraModel> getListaCompras() {
      
      
        try {
            ResultSet rs = bd
                    .consultar("SELECT * FROM compra");
            ArrayList<CompraModel> retorno = new ArrayList<>();
            while(rs.next()){
                
                CompraModel p = new CompraModel(rs.getInt("codCompra"), rs.getInt("codFornecedor"),rs.getString("dataCompra"),rs.getString("dataEntrega"));
                        retorno.add(p);
            }
            return retorno;
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }


    public CompraPersistencia(BancoDados bd) {
        this.bd = bd;
    }

    public void cadastrar( CompraModel compra) {
        try {

             bd.atualizar("INSERT INTO compra (codCompra,codFornecedor,dataCompra,dataEntrega) VALUES ("+compra.getCodigo()+" ,'"+compra.getFornecedor()+"' ,'"+compra.getDataatual()+"' ,'"+ compra.getDataentrega()+" ')");
        
            System.out.println("INSERT INTO compra (codCompra,codFornecedor,dataCompra,dataEntrega) VALUES ("+compra.getCodigo()+" ,'"+compra.getFornecedor()+"' ,'"+compra.getDataatual()+"' ,'"+ compra.getDataentrega()+" ')");
         } catch (Exception e) {
            e.printStackTrace();
        }
        
    }

    public  CompraModel buscar(int codigo) {
        try {
            ResultSet rs = bd.consultar("SELECT * FROM compra WHERE codCompra = "+codigo);
            rs.next();
             CompraModel retorno;
            if(rs.getRow() == 0){
                retorno = null;
            } else {
                retorno = new CompraModel(rs.getInt("codCompra"), rs.getInt("fornecedor"),rs.getString("dataatual"),rs.getString("dataEntrega") );
            }
            return retorno;
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }   
    
  /*   public  CidadeModel buscarNome(String nomeCidade) {
        try {
            ResultSet rs = bd.consultar("SELECT * FROM cidade WHERE nome = '"+nomeCidade+"'");
            rs.next();
             CidadeModel retorno;
            if(rs.getRow() == 0){
                retorno = null;
            } else {
                retorno = new CidadeModel(rs.getInt("codCidade"), rs.getString("nome"),rs.getString("uf"));
            }
            return retorno;
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    } 
public  int buscarNome1(String codigo) {
        try {
            ResultSet rs = bd.consultar("SELECT * FROM cidade WHERE Nome = "+codigo);
            rs.next();
             CidadeModel retorno;
            if(rs.getRow() == 0){
                retorno = null;
            } else {
                retorno = new CidadeModel(rs.getInt("codCidade"), rs.getString("nome"),rs.getString("uf"));
            }
            return retorno.getCodigo();
        } catch (Exception e) {
            e.printStackTrace();
            return 0;
        }
    } */
    public int recuperarUltimoCodigo() {
        try {
            ResultSet rs = bd.consultar("SELECT MAX(codCompra) FROM compra");
            rs.next();
            int retorno;
            if(rs.getRow() == 0){
                retorno = 0;
            } else {
                retorno = rs.getInt("MAX(codcompra)");
            }
            return retorno;
        } catch (Exception e) {
            e.printStackTrace();
            return -1;
        }
    }

    public void excluir(CompraModel compra) {
        try {
            bd.atualizar("DELETE FROM compra WHERE (codCliente = "+compra.getCodigo()+")");

            System.out.println("DELETE FROM compra WHERE (codCliente = "+compra.getCodigo()+")");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
     
    
}
